The Join operator is the most computationally expensive of relational database operations. The following relational query:Select * From R, S Where R.A=S.A  QUERY 1is a join of two tables, R and S, with equi-join predicate, R.A=S.A. When compiling a join query, a specific computational algorithm is chosen that performs the join when the query is executed.
If the hash join algorithm is chosen for QUERY 1, when executed, the join may fully scan both the R and S tables. For example, the hash algorithm may use build and probe tables to perform the algorithm. One of the tables in the join may be used as the build table, the other, the probe table. If the build table is R, and the probe table is S, the hash algorithm may build the hash table with the full table R, and then probe the entire S table.
Scans of entire tables are computationally expensive. An improved method for performing joins would be useful.